๋์ ์ด๊ณ ๋ฐ์ํ์ธ ๋ ์ด์์์ ์ํด ํธ๋ ํฌ๊ธฐ๊ฐ ์ด๋ป๊ฒ ํ์๋๊ณ ์ ์ฝ ์กฐ๊ฑด์ด ํด๊ฒฐ๋๋์ง ์ดํดํ์ฌ CSS ๊ทธ๋ฆฌ๋์ ๋ชจ๋ ์ ์ฌ๋ ฅ์ ๋ฐํํด ๋ณด์ธ์.
CSS ๊ทธ๋ฆฌ๋ ํธ๋ ํฌ๊ธฐ ํ์ ๋ง์คํฐํ๊ธฐ: ๋ ์ด์์ ์ ์ฝ ์กฐ๊ฑด ํด๊ฒฐ ์ฌ์ธต ๋ถ์
CSS ๊ทธ๋ฆฌ๋ ๋ ์ด์์์ 2์ฐจ์ ๋ ์ด์์์ ๋ํ ๋ ๋ณด์ ์ธ ์ ์ด ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ฉฐ ์น ๋์์ธ ์ ๊ทผ ๋ฐฉ์์ ํ๋ช ์ ์ผ์ผ์ผฐ์ต๋๋ค. ๊ทธ๋ฆฌ๋์ ๊ฐ๋ ฅํจ์ ๋ถ์ธํ ์ ์์ง๋ง, ์ง์ ์ผ๋ก ๋ง์คํฐํ๋ ๊ฒ์ ์ข ์ข ํธ๋ ํฌ๊ธฐ๊ฐ ๊ฒฐ์ ๋๊ณ ์ ์ฝ ์กฐ๊ฑด์ด ํด๊ฒฐ๋๋ ๋ฐฉ์์ ๋ํ ๊น์ ์ดํด์ ๋ฌ๋ ค ์์ต๋๋ค. ๋ฐ๋ก ์ด ์ง์ ์์ ํธ๋ ํฌ๊ธฐ ํ์์ด๋ผ๋ ๋ณต์กํ ๊ณผ์ ์ด ์์๋ฉ๋๋ค.
๊ธ๋ก๋ฒ ๊ฐ๋ฐ์์ ๋์์ด๋์๊ฒ ์ด๋ฌํ ํต์ฌ ๋ฉ์ปค๋์ฆ์ ํ์ ํ๋ ๊ฒ์ ๋ค์ํ ๊ธฐ๊ธฐ, ํ๋ฉด ํฌ๊ธฐ, ์ฝํ ์ธ ๋ณผ๋ฅจ์์ ์ผ๊ด๋๊ฒ ์๋ํ๋ ๊ฒฌ๊ณ ํ๊ณ ์ ์์ฑ ์๋ ์ธํฐํ์ด์ค๋ฅผ ๊ตฌ์ถํ๋ ๋ฐ ๋งค์ฐ ์ค์ํฉ๋๋ค. ์ด ์ข ํฉ ๊ฐ์ด๋๋ CSS ๊ทธ๋ฆฌ๋๊ฐ ํธ๋ ํฌ๊ธฐ๋ฅผ ํ์ํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ์๊ณ ๋ฆฌ์ฆ์ ๋ช ํํ ์ค๋ช ํ์ฌ, ์ฌ๋ฌ๋ถ์ ๋ ์ด์์์ด ์๊ฐ์ ์ผ๋ก ๋งค๋ ฅ์ ์ผ ๋ฟ๋ง ์๋๋ผ ๊ธฐ๋ฅ์ ์ผ๋ก๋ ์ง๋ฅ์ ์ด ๋๋๋ก ๋ณด์ฅํ ๊ฒ์ ๋๋ค.
๊ธฐ์ด ์ดํดํ๊ธฐ: ๊ทธ๋ฆฌ๋ ํธ๋๊ณผ ๊ทธ ํฌ๊ธฐ
ํ์์ ๋ํด ์์ธํ ์์๋ณด๊ธฐ ์ ์ ๊ธฐ๋ณธ ์ฌํญ์ ๋จผ์ ์ดํด๋ณด๊ฒ ์ต๋๋ค. CSS ๊ทธ๋ฆฌ๋์์๋ ๊ทธ๋ฆฌ๋ ์ปจํ
์ด๋๋ฅผ ์ ์ํ๊ณ ๊ทธ ์์ ์์ดํ
์ ๋ฐฐ์นํฉ๋๋ค. ๊ทธ๋ฆฌ๋ ์์ฒด๋ ๊ทธ๋ฆฌ๋ ๋ผ์ธ ์ฌ์ด์ ๊ณต๊ฐ์ธ ํธ๋์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ์ด ํธ๋์ ์ด(column) ๋๋ ํ(row)์ด ๋ ์ ์์ต๋๋ค. ์ฐ๋ฆฌ๋ grid-template-columns ๋ฐ grid-template-rows์ ๊ฐ์ ์์ฑ์ ์ฌ์ฉํ์ฌ ์ด๋ฌํ ํธ๋์ ํฌ๊ธฐ๋ฅผ ๋ช
์์ ์ผ๋ก ์ ์ํฉ๋๋ค.
ํธ๋ ํฌ๊ธฐ๋ฅผ ์ ์ํ๋ ๋ฐ ์ฌ์ฉ๋๋ ์ผ๋ฐ์ ์ธ ๋จ์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- ์ ๋ ๋จ์:
px,cm,pt๋ฑ. ๊ณ ์ ๋ ํฌ๊ธฐ๋ฅผ ์ ์ํฉ๋๋ค. - ์๋ ๋จ์:
%,em,rem,vw,vh. ๋ค๋ฅธ ์์๋ ๋ทฐํฌํธ์ ์๋์ ์ธ ํฌ๊ธฐ์ ๋๋ค. fr๋จ์: ๊ทธ๋ฆฌ๋ ์ปจํ ์ด๋์์ ์ฌ์ฉ ๊ฐ๋ฅํ ๊ณต๊ฐ์ ์ผ๋ถ๋ฅผ ๋ํ๋ด๋ ์ ์ฐํ ๋จ์์ ๋๋ค. ์ด๋ ๊ทธ๋ฆฌ๋ ์ ์ฐ์ฑ์ ํต์ฌ์ ๋๋ค.- ํค์๋:
auto,min-content,max-content. ์ด๋ค์ ํ์์์ ํนํ ์ค์ํฉ๋๋ค.
ํ์์ ํต์ฌ: ์ ์ฝ ์กฐ๊ฑด ํด๊ฒฐ ์๊ณ ๋ฆฌ์ฆ
๋ง๋ฒ์ ์ง์ ๋ ํธ๋ ํฌ๊ธฐ๊ฐ ์ ๋์ ์ด์ง ์๊ฑฐ๋, ์ํ๋ ํฌ๊ธฐ์ ์ฌ์ฉ ๊ฐ๋ฅํ ๊ณต๊ฐ ์ฌ์ด์ ์ถฉ๋์ด ์์ ๋ ๋ฐ์ํฉ๋๋ค. CSS ๊ทธ๋ฆฌ๋๋ ์ด๋ฌํ ์ ์ฝ ์กฐ๊ฑด์ ํด๊ฒฐํ์ฌ ๋ ์ด์์์ด ๊ธฐ๋ฅ์ ์ผ๋ก ์ ์ง๋๋๋ก ์ ๊ตํ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํฉ๋๋ค. ํ์ ๊ณผ์ ์ ํฌ๊ฒ ์ฌ๋ฌ ๋จ๊ณ๋ก ๋ถ๋ฅํ ์ ์์ต๋๋ค:
1. ๋ด์ฌ์ ํฌ๊ธฐ ์กฐ์ (Intrinsic Sizing): ์ฝํ ์ธ ์ ์ํฅ
๊ทธ๋ฆฌ๋ ์ปจํ
์ด๋์ ํฌ๊ธฐ๋ฅผ ๊ณ ๋ คํ๊ธฐ ์ ์, ๊ทธ๋ฆฌ๋๋ ๊ทธ๋ฆฌ๋ ์์ดํ
๋ด ์ฝํ
์ธ ์ ๋ด์ฌ์ ํฌ๊ธฐ๋ฅผ ์ดํด๋ด
๋๋ค. ๋ฐ๋ก ์ด ๋ถ๋ถ์์ auto, min-content, max-content๊ฐ ์ฌ์ฉ๋ฉ๋๋ค.
min-content: ์ด ํค์๋๋ ์์์ ๋ด์ฌ์ ์ต์ ํฌ๊ธฐ๋ฅผ ๋ํ๋ ๋๋ค. ํ ์คํธ์ ๊ฒฝ์ฐ, ์ปจํ ์ด๋๋ฅผ ๋์น์ง ์๊ณ ํ์๋ ์ ์๋ ๊ฐ์ฅ ์์ ํฌ๊ธฐ(์: ๊ฐ์ฅ ๊ธด ๋จ์ด์ ๋๋น)์ ๋๋ค. ๋ค๋ฅธ ์์์ ๊ฒฝ์ฐ, ํด๋น ์์์ ์ต์ ์ฝํ ์ธ ํฌ๊ธฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค.max-content: ์ด ํค์๋๋ ์์์ ๋ด์ฌ์ ์ต๋ ํฌ๊ธฐ๋ฅผ ๋ํ๋ ๋๋ค. ํ ์คํธ์ ๊ฒฝ์ฐ, ์ค ๋ฐ๊ฟ ์์ด ํ ์ค์ ๋ชจ๋ ํ์๋ ๋์ ๋๋น์ ๋๋ค. ๋ค๋ฅธ ์์์ ๊ฒฝ์ฐ, ํด๋น ์์์ ์ต๋ ์ฝํ ์ธ ํฌ๊ธฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค.auto: ์ด ํค์๋๋ ์ํฉ์ ๋ฐ๋ผ ๋ค๋ฆ ๋๋ค. ๊ทธ๋ฆฌ๋์์auto๋ ์ผ๋ฐ์ ์ผ๋ก ํธ๋์ด ๊ทธ๋ฆฌ๋ ์์ดํ ๋ด์ ์ฝํ ์ธ ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํฌ๊ธฐ๋ฅผ ์กฐ์ ํ์ง๋ง, ์ฌ์ฉ ๊ฐ๋ฅํ ๊ณต๊ฐ๊ณผ ๋ค๋ฅธ ํธ๋ ํฌ๊ธฐ์ ์ํด ์ ์ฝ์ ๋ฐ๋๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. ์ข ์ขmin-content์max-content์ฌ์ด์ ๊ฐ์ผ๋ก ๊ธฐ๋ณธ ์ค์ ๋ฉ๋๋ค.
์ค์ฉ ์์ : ๋ค์ํ ์์ ํ
์คํธ๊ฐ ์๋ ์นด๋ ์ปดํฌ๋ํธ๋ฅผ ์์ํด ๋ณด์ธ์. ์ด ์นด๋๋ฅผ ํฌํจํ๋ ์ด์ grid-template-columns: auto;๋ฅผ ์ฌ์ฉํ๋ฉด, ์ด์ ๋ช
์์ ์ธ ํฝ์
๊ฐ ์์ด๋ ๊ฐ์ฅ ๋์ ์นด๋์ ์ฝํ
์ธ (์ฆ, max-content ๋๋น)์ ๋ง๊ฒ ์ถฉ๋ถํ ํ์ฅ๋ ์ ์์ต๋๋ค. ๋ฐ๋๋ก ์ฝํ
์ธ ๊ฐ ๋งค์ฐ ์ ์ผ๋ฉด min-content ํฌ๊ธฐ๋ก ์ค์ด๋ค ์ ์์ต๋๋ค.
2. ๋ช ์์ ํฌ๊ธฐ ์กฐ์ ๊ณผ ์ต์๊ฐ
๋ด์ฌ์ ํฌ๊ธฐ๊ฐ ๊ณ ๋ ค๋ ํ, ๊ทธ๋ฆฌ๋๋ ๋ช
์์ ํธ๋ ํฌ๊ธฐ์ ์ ์๋ ๋ชจ๋ ์ต์๊ฐ์ ํ๊ฐํฉ๋๋ค. ๋ชจ๋ ํธ๋์ ์ ๋ ๊ทธ ์ดํ๋ก ์ค์ด๋ค์ง ์๋ ์ต์ ํฌ๊ธฐ๋ฅผ ๊ฐ์ง๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ์ด ์ต์๊ฐ์ ์ข
์ข
ํด๋น ์ฝํ
์ธ ์ min-content ํฌ๊ธฐ์ ์ํด ๊ฒฐ์ ๋ฉ๋๋ค.
ํ์ง๋ง ๋ค์์ ์ฌ์ฉํ์ฌ ์ด ๊ธฐ๋ณธ ์ต์๊ฐ์ ์ฌ์ ์ํ ์ ์์ต๋๋ค:
min()ํจ์:min(size1, size2, ...). ํธ๋์ ์ง์ ๋ ํฌ๊ธฐ ์ค ๊ฐ์ฅ ์์ ๊ฐ์ด ๋ฉ๋๋ค.max()ํจ์:max(size1, size2, ...). ํธ๋์ ์ง์ ๋ ํฌ๊ธฐ ์ค ๊ฐ์ฅ ํฐ ๊ฐ์ด ๋ฉ๋๋ค.clamp()ํจ์:clamp(MIN, VAL, MAX). ํธ๋์VAL์ด ๋์ง๋ง,MIN๊ณผMAX์ ์ํด ์ ํ๋ฉ๋๋ค.
์ฌ๊ธฐ์ minmax(min, max) ํจ์๋ ํนํ ๊ฐ๋ ฅํฉ๋๋ค. ์ด ํจ์๋ ํธ๋์ ํฌ๊ธฐ ๋ฒ์๋ฅผ ์ ์ํฉ๋๋ค. ํธ๋์ ์ต์ min, ์ต๋ max๊ฐ ๋ฉ๋๋ค. ์ด๋ ์ ์ฐํ๊ณ ๊ฒฌ๊ณ ํ ๋ ์ด์์์ ๋ง๋๋ ๋ฐ ๊ธฐ๋ณธ์ด ๋ฉ๋๋ค.
์ค์ฉ ์์ : ์ต์ 200px ๋๋น์ฌ์ผ ํ์ง๋ง ์ต๋ 300px๊น์ง ์ปค์ง ์ ์๊ณ , ์ฌ์ฉ ๊ฐ๋ฅํ ๊ณต๊ฐ์ ๋ฐ๋ผ ์กฐ์ ๋๋ ์ฌ์ด๋๋ฐ๋ฅผ ์๊ฐํด ๋ณด์ธ์. ์ด๋ฅผ grid-template-columns: minmax(200px, 1fr);๋ก ์ ์ํ ์ ์์ต๋๋ค. ๊ณต๊ฐ์ด ์ถฉ๋ถํ๋ฉด ์ผ๋ถ(1fr)๋ฅผ ์ฐจ์งํ ๊ฒ์
๋๋ค. ๊ณต๊ฐ์ด ๋ถ์กฑํ๋ฉด 200px๊น์ง ์ค์ด๋ค์ง๋ง ๊ทธ ์ด์์ ์ค์ด๋ค์ง ์์ต๋๋ค. ๋ง์ฝ 1fr์ด 300px๋ณด๋ค ํฐ ๊ฐ์ผ๋ก ํ์ธ๋๋ฉด, ๋ค๋ฅธ ๋ช
์์ ์ธ ์ต๋๊ฐ์ด ์ค์ ๋ ๊ฒฝ์ฐ 300px์ผ๋ก ์ ํ๋๊ฑฐ๋, ์ถ๊ฐ ์ ์ฝ์ด ์์ผ๋ฉด ๊ณ์ ์ปค์ง ๊ฒ์
๋๋ค.
3. fr ๋จ์์ ํ๊ณผ ์ฌ์ฉ ๊ฐ๋ฅํ ๊ณต๊ฐ ๋ถ๋ฐฐ
fr ๋จ์๋ ๊ทธ๋ฆฌ๋๊ฐ ์ ์ฐํ ํฌ๊ธฐ ์กฐ์ ๋ฐ ๊ณต๊ฐ ๋ถ๋ฐฐ์ ๋ํ ํด๋ต์
๋๋ค. fr ๋จ์๋ก ์ ์๋ ํธ๋์ด ์์ ๋, ๊ทธ๋ฆฌ๋๋ ๋ชจ๋ ๊ณ ์ ํฌ๊ธฐ ํธ๋๊ณผ ๋ด์ฌ์ ์ฝํ
์ธ ํฌ๊ธฐ๋ฅผ ๊ณ์ฐํ ํ ๊ทธ๋ฆฌ๋ ์ปจํ
์ด๋์ ๋จ์ ๊ณต๊ฐ์ ๊ณ์ฐํฉ๋๋ค. ์ด ๋จ์ ๊ณต๊ฐ์ fr๋ก ์ ์๋ ํธ๋๋ค ์ฌ์ด์ ๊ทธ๋ค์ ๋น์จ์ ๋ฐ๋ผ ๋ถ๋ฐฐ๋ฉ๋๋ค.
๊ณ์ฐ ๋ฐฉ๋ฒ:
- ๊ณ ์ ํฌ๊ธฐ ํธ๋(
px,%,em,min-content,max-content๋ฑ)์ ์ด ํฌ๊ธฐ๋ฅผ ๊ณ์ฐํฉ๋๋ค. - ์ด ์ดํฉ์ ๊ทธ๋ฆฌ๋ ์ปจํ ์ด๋์ ์ฌ์ฉ ๊ฐ๋ฅํ ๊ณต๊ฐ์์ ๋บ๋๋ค. ์ด๊ฒ์ด '์ฌ์ ๊ณต๊ฐ'์ด ๋ฉ๋๋ค.
- ๋ชจ๋
fr๊ฐ์ ํฉ์ฐํฉ๋๋ค. - '์ฌ์ ๊ณต๊ฐ'์
fr๊ฐ์ ํฉ์ผ๋ก ๋๋๋๋ค. ์ด๊ฒ์ด 1fr์ ๊ฐ์ด ๋ฉ๋๋ค. - ์ด 1
fr๊ฐ์ ๊ฐ ํธ๋์ ํ ๋น๋fr๊ฐ๊ณผ ๊ณฑํ์ฌ ์ต์ข ํฌ๊ธฐ๋ฅผ ์ป์ต๋๋ค.
์ค์ ์ฐธ๊ณ ์ฌํญ: fr ๋จ์๋ auto ๋๋ ์ด๋ฏธ ๊ตฌ์ฒด์ ์ธ ํฌ๊ธฐ๋ก ๊ฒฐ์ ๋ ์ฝํ
์ธ ๊ธฐ๋ฐ ํค์๋๋ก ๋ช
์์ ์ผ๋ก ํฌ๊ธฐ๊ฐ ์ง์ ๋์ง ์์ ํธ๋๋ค ์ฌ์ด์์๋ง ๋ถ๋ฐฐ๋ฉ๋๋ค. ๋ง์ฝ ํธ๋์ด auto๋ก ์ค์ ๋์ด ์๊ณ ๊ทธ ์ฝํ
์ธ ๊ฐ fr ๋ถ๋ฐฐ๊ฐ ํ์ฉํ๋ ๊ฒ๋ณด๋ค ๋ ๋ง์ ๊ณต๊ฐ์ ํ์๋ก ํ๋ค๋ฉด, auto ํธ๋์ด ์ฐ์ ๊ถ์ ๊ฐ์ง ์ ์์ผ๋ฉฐ, ์ด๋ fr ๋จ์์ ์ฌ์ฉ ๊ฐ๋ฅํ ๊ณต๊ฐ์ ์ค์ผ ์ ์์ต๋๋ค.
์ค์ฉ ์์ : grid-template-columns: 200px 1fr 2fr;์ ๊ฐ์ด ์ธ ๊ฐ์ ์ด์ด ์๋ ๋ ์ด์์์ ์์ํด ๋ณด์ธ์. ๊ทธ๋ฆฌ๋ ์ปจํ
์ด๋์ ๋๋น๊ฐ 1000px์ด๋ผ๋ฉด:
- ์ฒซ ๋ฒ์งธ ์ด์ 200px๋ฅผ ์ฐจ์งํฉ๋๋ค.
- ๋จ์ ๊ณต๊ฐ: 1000px - 200px = 800px.
fr๋จ์์ ํฉ์ 1 + 2 = 3์ ๋๋ค.- 1
fr= 800px / 3 = 266.67px. - ๋ ๋ฒ์งธ ์ด(1fr)์ 266.67px๊ฐ ๋ฉ๋๋ค.
- ์ธ ๋ฒ์งธ ์ด(2fr)์ 2 * 266.67px = 533.34px๊ฐ ๋ฉ๋๋ค.
4. ์ถฉ๋ ์ฒ๋ฆฌ: ํฌ๊ธฐ๊ฐ ์ฌ์ฉ ๊ฐ๋ฅํ ๊ณต๊ฐ์ ์ด๊ณผํ ๋
์ํ๋ ํธ๋ ํฌ๊ธฐ์ ํฉ์ด ๊ทธ๋ฆฌ๋ ์ปจํ ์ด๋์์ ์ฌ์ฉ ๊ฐ๋ฅํ ๊ณต๊ฐ์ ์ด๊ณผํ๋ฉด ์ด๋ป๊ฒ ๋ ๊น์? ์ด๊ฒ์ ํนํ ๋ฐ์ํ ๋์์ธ์์ ํํ ๋ฐ์ํ๋ ์๋๋ฆฌ์ค์ ๋๋ค.
๊ทธ๋ฆฌ๋๋ ๋ค์์ ์ฐ์ ์ํ๋ ํด๊ฒฐ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํฉ๋๋ค:
- ์ต์ ํธ๋ ํฌ๊ธฐ: ํธ๋์ ์ ์๋ ์ต์๊ฐ(๋ฌ๋ฆฌ ์ง์ ๋์ง ์์ ๊ฒฝ์ฐ ๊ธฐ๋ณธ์ ์ผ๋ก
min-content) ์ดํ๋ก ์ค์ด๋ค์ง ์์ต๋๋ค. fr๋จ์์ ์ ์ฐ์ฑ:fr๋จ์๋ก ์ ์๋ ํธ๋์ ์ฌ์ฉ ๊ฐ๋ฅํ ๊ณต๊ฐ์ ๋ณํ๋ฅผ ํก์ํ๋๋ก ์ค๊ณ๋์์ต๋๋ค. ๋ค๋ฅธ ์ ์ฝ ์กฐ๊ฑด์ ์์ฉํ๊ธฐ ์ํด ์ค์ด๋ค ์ ์์ต๋๋ค.autoํธ๋:autoํธ๋์ ์ฝํ ์ธ ์ ๋ง์ถ๋ ค๊ณ ์๋ํ์ง๋ง ์ค์ด๋ค ์๋ ์์ต๋๋ค.
๋ณธ์ง์ ์ผ๋ก, ๊ทธ๋ฆฌ๋๋ ๋ชจ๋ ์ ์ฝ ์กฐ๊ฑด์ ๋ง์กฑ์ํค๋ ค๊ณ ๋
ธ๋ ฅํ์ง๋ง, ๋ถ๊ฐ๋ฅํ ๊ฒฝ์ฐ ํธ๋์ ๊ฐ๋ฅํ ์ต์ ํฌ๊ธฐ๋ก ์ ์งํ๊ณ ์ ์ฐํ ๋จ์(fr ๋ฑ)๊ฐ ์์ถ๋๋๋ก ์ฐ์ ์์๋ฅผ ๋ก๋๋ค. ๋ง์ฝ ์ต์๊ฐ์กฐ์ฐจ ์ถฉ์กฑ๋ ์ ์๋ค๋ฉด ์ฝํ
์ธ ๊ฐ ๋์น ์ ์์ต๋๋ค.
minmax() ํจ์๋ ์ฌ๊ธฐ์ ์ค์ํ ์ญํ ์ ํฉ๋๋ค. minmax()์์ ์ต์๊ฐ์ ์ค์ ํจ์ผ๋ก์จ, ๊ณต๊ฐ์ด ๊ทน๋๋ก ์ ํ์ ์ด๋๋ผ๋ ํธ๋์ด ๊ทธ ์ง์ ์ดํ๋ก ์ค์ด๋ค์ง ์๋๋ก ๋ณด์ฅํฉ๋๋ค. ์ฌ๋ฌ ํธ๋์ด minmax()๋ฅผ ์ฌ์ฉํ๊ณ ๊ทธ ์ต์๊ฐ๋ค์ ํฉ์ด ์ฌ์ฉ ๊ฐ๋ฅํ ๊ณต๊ฐ์ ์ด๊ณผํ๋ ๊ฒฝ์ฐ, ๊ทธ๋ฆฌ๋๋ ๋์น๋ ๋ถ๋ถ์ ๊ทธ๋ค ์ฌ์ด์ ๋ถ๋ฐฐํ๋ ค๊ณ ์๋ํ์ง๋ง, ์ต์๊ฐ์ ์ต๋ํ ์กด์ค๋ ๊ฒ์
๋๋ค.
์ค์ฉ ์์ : ์ฌ๋ฌ ์์ ฏ์ด ์๋ ๋์๋ณด๋ ๋ ์ด์์์ ์๊ฐํด ๋ณด์ธ์. ๊ฐ ์์ ฏ ์ด์ด ์ต์ 150px ๋๋น๋ฅผ ๊ฐ์ง๋ฉด์ ์ ์ฐํ๊ธฐ๋ฅผ ์ํฉ๋๋ค. grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋ง์ฝ ์ปจํ
์ด๋๊ฐ 500px ๋๋น๋ผ๋ฉด, ๊ทธ๋ฆฌ๋๋ ๋ ๊ฐ์ ์ด์ ๋ง์ถ ์ ์์ต๋๋ค (2 * 150px = 300px, 1fr๋ค์ด ๊ณต์ ํ 200px๋ฅผ ๋จ๊น). ๋ง์ฝ ์ปจํ
์ด๋๊ฐ 250px๋ก ์ค์ด๋ค๋ฉด, ํ ๊ฐ์ ์ด๋ง ๋ค์ด๊ฐ๋ฉฐ ์ ์ฒด 250px๋ฅผ ์ฐจ์งํ ๊ฒ์
๋๋ค (1fr์ด 150px๋ณด๋ค ํฌ๊ธฐ ๋๋ฌธ์).
5. fit-content()์ ์ญํ
ํธ๋ ํฌ๊ธฐ ์กฐ์ ์ ์ํ ์๋กญ๊ณ ๋งค์ฐ ์ ์ฉํ ํจ์๋ fit-content(limit)์
๋๋ค. ์ด ํจ์๋ max-content์ฒ๋ผ ๋์ํ์ง๋ง, ์ง์ ๋ ํ๊ณ์ ์ํด ์ ์ฝ์ ๋ฐ์ต๋๋ค. ํจ๊ณผ์ ์ผ๋ก '์ฝํ
์ธ ๊ฐ ์ํ๋ ๋งํผ ๋์ด์ง๋, ์ด ํ๊ณ๋ฅผ ์ด๊ณผํ์ง ๋ง๋ผ'๊ณ ๋งํ๋ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค. ์ด๋ ์ฝํ
์ธ ๊ธฐ๋ฐ ํฌ๊ธฐ ์กฐ์ ๊ณผ ์ต๋ ์ ์ฝ ์กฐ๊ฑด ์ฌ์ด์ ๊ท ํ์ ๋ง์ถ๋ ๊ฐ๋ ฅํ ๋ฐฉ๋ฒ์
๋๋ค.
๊ณ์ฐ: fit-content(limit)์ max(min-content, min(max-content, limit))์ผ๋ก ํด์๋ฉ๋๋ค.
์ค์ฉ ์์ : ์ ํ๋ช
์ ์ํ ํ
์ด๋ธ ์ด์ ์์ํด ๋ณด์ธ์. ๊ฐ์ฅ ๊ธด ์ ํ๋ช
์ ์ถฉ๋ถํ ๋์ด์ผ ํ์ง๋ง, ํ
์ด๋ธ์ ์ ์ฒด ๋ ์ด์์์ ๊นจ๋จ๋ฆด ์ ๋๋ก ๋์ง๋ ์์์ผ ํฉ๋๋ค. grid-template-columns: fit-content(200px);๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด์ ๊ฐ์ฅ ๊ธด ์ ํ๋ช
์ ๋ง๊ฒ ํ์ฅ๋์ง๋ง, ๋ง์ฝ ๊ทธ ์ด๋ฆ์ด 200px๋ณด๋ค ๊ธธ๋ฉด ์ด์ 200px๋ก ์ ํ๋๊ณ ํ
์คํธ๋ ์ค ๋ฐ๊ฟ๋ ๊ฒ์
๋๋ค.
๊ณ ๊ธ ๊ฐ๋ ๋ฐ ๊ธ๋ก๋ฒ ๊ณ ๋ ค์ฌํญ
ํ์ ๊ณผ์ ์ ๊ตญ์ ํ์ ๋ค์ํ ์ฝํ ์ธ ๋ฅผ ๊ณ ๋ คํ ๋ ๋์ฑ ๋ฏธ๋ฌํด์ง๋๋ค.
A. ๊ตญ์ ํ(i18n) ๋ฐ ํ์งํ(l10n)
์ธ์ด๋ง๋ค ํ ์คํธ ๊ธธ์ด๊ฐ ๋ค๋ฆ ๋๋ค. ๋ ์ผ์ด ์ ํ ์ค๋ช ์ ์์ด๋ณด๋ค ํจ์ฌ ๊ธธ ์ ์์ต๋๋ค. ์ฌ์ฉ์ ์ด๋ฆ์ด๋ ์ ๋ชฉ๋ ๋ฌธํ์ ์ธ์ด์ ๋ฐ๋ผ ๊ธธ์ด๊ฐ ํฌ๊ฒ ๋ฌ๋ผ์ง ์ ์์ต๋๋ค.
- ์ฝํ
์ธ ๊ธฐ๋ฐ ํฌ๊ธฐ ์กฐ์ (
auto,min-content,max-content,fit-content())์ด ์ฌ๊ธฐ์ ์ต๊ณ ์ ์น๊ตฌ์ ๋๋ค. ์ด๋ฌํ ๊ฐ์ ์์กดํจ์ผ๋ก์จ, ๊ทธ๋ฆฌ๋๋ ์ด์ํ ์๋ฆผ์ด๋ ๊ณผ๋ํ ๊ณต๋ฐฑ์ ์ ๋ฐํ ์ ์๋ ๊ณ ์ ๋ ๋จ์์ ์๊ฒฉํ๊ฒ ์ ์ฝ๋ฐ๋ ๋์ ์ค์ ํ ์คํธ ๊ธธ์ด์ ๋ง์ถฐ ๋์ ์ผ๋ก ํธ๋ ํฌ๊ธฐ๋ฅผ ์กฐ์ ํ ์ ์์ต๋๋ค. fr๋จ์๋ฅผ ํ๋ช ํ๊ฒ ์ฌ์ฉํ์ธ์. ์ด๋ ๋จ์ ๊ณต๊ฐ์ด ๋น๋ก์ ์ผ๋ก ๋ถ๋ฐฐ๋๋๋ก ๋ณด์ฅํ๋ฉฐ, ์ด๋ ์ธ์ด๋ก ์ธํ ์ฝํ ์ธ ํ์ฅ์ ๊ณ ๋ คํ์ง ์์ ์ ์๋ ๊ณ ์ ๋ ๋ฐฑ๋ถ์จ๋ณด๋ค ์ผ๋ฐ์ ์ผ๋ก ๋ ๊ฒฌ๊ณ ํฉ๋๋ค.- ๋ค์ํ ์ธ์ด๋ก ํ ์คํธํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. ๋ธ๋ผ์ฐ์ ๊ฐ๋ฐ์ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ๋ธ๋ผ์ฐ์ ์ธ์ด๋ฅผ ์ผ์์ ์ผ๋ก ๋ณ๊ฒฝํ๊ฑฐ๋ ๋ฒ์ญ๋ ์ฝํ ์ธ ๋ก ์์๋ฅผ ๊ฒ์ฌํ์ฌ ๊ทธ๋ฆฌ๋ ๋ ์ด์์์ด ์กฐํ๋กญ๊ฒ ์ ์ง๋๋์ง ํ์ธํ์ธ์.
๊ธ๋ก๋ฒ ์์ : ์ฌ์ดํธ ์ด๋ฆ์ด๋ ํ๊ทธ๋ผ์ธ์ด ํ์๋๋ ๋ด์ค ์น์ฌ์ดํธ ํค๋๋ฅผ ์๊ฐํด ๋ณด์ธ์. ์์ด๋ก๋ ์งง์ ์ ์์ต๋๋ค. ์ผ๋ณธ์ด์์๋ ๋ช ๊ฐ์ ๋ฌธ์๋ก ํํ๋ ์ ์์ง๋ง ์๊ฐ์ ๋๋น๋ ๋ค๋ฅผ ์ ์์ต๋๋ค. ๊ธด ๋ณตํฉ ๋จ์ด๊ฐ ์๋ ์ธ์ด์์๋ ๋งค์ฐ ๊ธธ์ด์ง ์ ์์ต๋๋ค. ๋ก๊ณ ๊ฐ ์ผ์ชฝ์ ์๊ณ ๋ด๋น๊ฒ์ด์
์ด ์ค๋ฅธ์ชฝ์ ์๋ ๋ ์ด์์์ grid-template-columns: max-content 1fr;๋ฅผ ์ฌ์ฉํ๋ฉด ๋ก๊ณ ์์ญ์ด ํ์ํ ๊ณต๊ฐ์ ์์ฐ์ค๋ฝ๊ฒ ์ฐจ์งํ๊ณ , ๋ด๋น๊ฒ์ด์
์ด ๋๋จธ์ง ๊ณต๊ฐ์ ์ ์ฐํ๊ฒ ์ฑ์ ๋ก๊ณ ์ ์๊ฐ์ ๋๋น์ ์ ์ํ ์ ์์ต๋๋ค.
B. ์ฌ์ฉ์ ์ธํฐํ์ด์ค ์ค์ผ์ผ๋ง ๋ฐ ์ ๊ทผ์ฑ
์ ์ธ๊ณ ์ฌ์ฉ์๋ ์ ๊ทผ์ฑ์ ์ํด ํ ์คํธ ํฌ๊ธฐ์ ํ๋/์ถ์ ์์ค์ ์กฐ์ ํฉ๋๋ค. ์ฌ๋ฌ๋ถ์ ๊ทธ๋ฆฌ๋ ๋ ์ด์์์ ์ด๋ฌํ ๋ณ๊ฒฝ์ ์ฐ์ํ๊ฒ ๋ฐ์ํด์ผ ํฉ๋๋ค.
- ์ ์ ํ ๊ฒฝ์ฐ ํธ๋ ํฌ๊ธฐ์ ์๋ ๋จ์(
em,rem,vw,vh)๋ฅผ ์ ํธํ์ธ์. ์ด๋ ์ฌ์ฉ์ ๊ธฐ๋ณธ ์ค์ ์ ๋ฐ๋ผ ํ์ฅ๋ฉ๋๋ค. - ์ ์ฐํ ๋จ์์ ํจ๊ป
minmax()(์:minmax(10rem, 1fr))๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ์ต์ํ์ ๊ฐ๋ ์ฑ ์๋ ํฌ๊ธฐ๋ฅผ ์ ์งํ๋ฉด์ ์ฌ์ฉ ๊ฐ๋ฅํ ๊ณต๊ฐ์ ํ์ฉํ๋ ์ ์ํ ์ปดํฌ๋ํธ๋ฅผ ๋ง๋๋ ๋ฐ ํ์ํฉ๋๋ค. - ํ ์คํธ ํฌ๊ธฐ๊ฐ ์ฆ๊ฐํ ๋ ์ฝํ ์ธ ๊ฐ ์์ฐ์ค๋ฝ๊ฒ ์ฌ๋ฐฐ์น๋๋ ๊ฒ์ ๋ง๋ ์ง๋์น๊ฒ ์ ํ์ ์ธ ๊ณ ์ ํฌ๊ธฐ๋ฅผ ํผํ์ธ์.
๊ธ๋ก๋ฒ ์์ : ์ ์์๊ฑฐ๋ ์ ํ๋ฆฌ์ผ์ด์
์ ์ ํ ๋ชฉ๋ก ํ์ด์ง. ์ด๋ฏธ์ง ์ด์ ์ผ๊ด๋ ๊ฐ๋ก์ธ๋ก ๋น์จ์ ๊ฐ์ ธ์ผ ํ์ง๋ง, ํ
์คํธ ์ค๋ช
์ด์ ๋ค์ํ ๊ธธ์ด์ ์ ํ๋ช
๊ณผ ์ค๋ช
์ ์ ์ํด์ผ ํฉ๋๋ค. grid-template-columns: 150px 1fr;๋ ์์ด์์๋ ์๋ํ ์ ์์ง๋ง, ๋ค๋ฅธ ์ธ์ด์ ์ ํ๋ช
์ด ํจ์ฌ ๊ธธ๊ณ ์ปจํ
์ด๋ ๋๋น๊ฐ ๊ณ ์ ๋์ด ์๋ค๋ฉด ๋์น ์ ์์ต๋๋ค. ๋ ๋์ ์ ๊ทผ ๋ฐฉ์์ ์ ์ฒด ์ ํ ๊ทธ๋ฆฌ๋์ grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));๋ฅผ ์ฌ์ฉํ๊ณ , ๊ฐ ์ ํ ์์ดํ
๋ด์์๋ ํ
์คํธ ํ๋์ min-content์ max-content๋ฅผ ํ์ฉํ๋ grid-template-areas ๋๋ grid-template-columns๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์
๋๋ค.
C. ์ฑ๋ฅ ๊ณ ๋ ค์ฌํญ
๊ทธ๋ฆฌ๋๋ ์ฑ๋ฅ์ด ๋งค์ฐ ๋ฐ์ด๋์ง๋ง, ๋ง์ ์ฝํ ์ธ ๊ธฐ๋ฐ ๋ด์ฌ์ ํฌ๊ธฐ ์กฐ์ ๊ณ์ฐ์ ํฌํจํ๋ ๋ณต์กํ ๊ณ์ฐ์ ํนํ ์ฑ๋ฅ์ด ๋ฎ์ ๊ธฐ๊ธฐ๋ ๋งค์ฐ ํฐ ๋ฐ์ดํฐ ์ธํธ์์ ๋ ๋๋ง ์ฑ๋ฅ์ ์ํฅ์ ์ค ์ ์์ต๋๋ค.
- ๊น๊ฒ ์ค์ฒฉ๋ ๊ทธ๋ฆฌ๋ ์์ดํ ๊ณผ ๋งค์ฐ ๋ณต์กํ ๋ด์ฌ์ ํฌ๊ธฐ ์กฐ์ ๊ณ์ฐ์ ์ ์ํ์ธ์.
- ์ฝํ
์ธ ํ๋ฆ์ ์์กดํ์ง ์๊ณ ์ ๋ง๋ก ๊ณ ์ ๋ ํฌ๊ธฐ๊ฐ ํ์ํ ์์์๋
px๋๋%๋ฅผ ์ฌ์ฉํ์ธ์. - ๋ธ๋ผ์ฐ์ ๊ฐ๋ฐ์ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ๋ ์ด์์์ ํ๋กํ์ผ๋งํ์ฌ ์ฑ๋ฅ ๋ณ๋ชฉ ํ์์ ์๋ณํ์ธ์.
ํจ๊ณผ์ ์ธ ๊ทธ๋ฆฌ๋ ํ์์ ์ํ ์ค์ฉ์ ์ธ ์ ๋ต
CSS ๊ทธ๋ฆฌ๋ ํธ๋ ํฌ๊ธฐ ํ์์ ๋ชจ๋ ํ์ ํ์ฉํ๋ ค๋ฉด ๋ค์ ์ ๋ต์ ์ฑํํ์ธ์:
1. ๋ด์ฌ์ ํฌ๊ธฐ์์ ์์ํ๊ธฐ
ํญ์ ์ฝํ
์ธ ๊ฐ ์ด๋ป๊ฒ ํฌ๊ธฐ๋ฅผ ์กฐ์ ํ๊ณ *์ถ์ดํ๋์ง* ๊ณ ๋ คํ์ธ์. min-content, max-content, auto๋ฅผ ์ด๊ธฐ ๊ตฌ์ฑ ์์๋ก ์ฌ์ฉํ์ธ์. ์ด๋ ๊ฒ ํ๋ฉด ๋ ์ด์์์ด ๋ณธ์ง์ ์ผ๋ก ์ฝํ
์ธ ์ ๋ฐ์ํ๋๋ก ๋ณด์ฅ๋ฉ๋๋ค.
2. ์ ์ฐ์ฑ๊ณผ ์ ์ฝ์ ์ํด minmax() ์ฌ์ฉํ๊ธฐ
์ด๊ฒ์ ๊ฒฌ๊ณ ํ ๋ ์ด์์์ ์ํ ๊ฐ์ฅ ์ค์ํ ๋๊ตฌ๋ผ๊ณ ํ ์ ์์ต๋๋ค. ์ฝํ
์ธ ๋ถ๊ดด๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํ ์ต์๊ฐ์ ์ ์ํ๊ณ , ๊ณต๊ฐ ๋ถ๋ฐฐ๋ฅผ ํ์ฉํ๊ธฐ ์ํ ์ต๋๊ฐ(๋๋ fr๊ณผ ๊ฐ์ ์ ์ฐํ ๋จ์)์ ์ ์ํ์ธ์.
grid-template-columns: minmax(200px, 1fr) minmax(150px, 2fr) 300px;
์ด ์์ ๋ ์ธ ๊ฐ์ ์ด์ ์ค์ ํฉ๋๋ค. ์ฒซ ๋ฒ์งธ ์ด์ ์ต์ 200px์ด๋ฉฐ ์ฌ์ฉ ๊ฐ๋ฅํ ์ ์ฐํ ๊ณต๊ฐ์ 1/3์ ์ฐจ์งํฉ๋๋ค. ๋ ๋ฒ์งธ ์ด์ ์ต์ 150px์ด๋ฉฐ ์ฌ์ฉ ๊ฐ๋ฅํ ์ ์ฐํ ๊ณต๊ฐ์ 2/3๋ฅผ ์ฐจ์งํฉ๋๋ค. ์ธ ๋ฒ์งธ ์ด์ ๊ณ ์ ๋ 300px์ ๋๋ค.
3. auto-fit ๋๋ auto-fill๊ณผ ํจ๊ป repeat() ํ์ฉํ๊ธฐ
์นด๋๋ ์ ํ ๋ชฉ๋ก๊ณผ ๊ฐ์ ๋ฐ์ํ ์์ดํ
๋ชฉ๋ก์ ๊ฒฝ์ฐ, repeat(auto-fit, minmax(min-size, 1fr))๋ ๊ฒ์ ์ฒด์ธ์ ์
๋๋ค. ์ด๋ ์ปจํ
์ด๋ ๋๋น์ ๋ฐ๋ผ ์ด์ ์๋ฅผ ์๋์ผ๋ก ์กฐ์ ํ์ฌ ๊ฐ ์์ดํ
์ด ์ต์ min-size์ ์ ์ฐํ ๊ณต๊ฐ์ ๊ฐ๋๋ก ๋ณด์ฅํฉ๋๋ค.
.card-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; }
์ด๋ ๊ฒ ํ๋ฉด ๊ฐ ์นด๋๊ฐ ์ต์ 280px ๋๋น๊ฐ ๋๋ ๊ทธ๋ฆฌ๋๊ฐ ๋ง๋ค์ด์ง๋๋ค. ์ปจํ
์ด๋๊ฐ 3๊ฐ์ ์นด๋๋ฅผ ํ์ํ ๋งํผ ๋์ผ๋ฉด 3๊ฐ๋ฅผ ํ์ํ๊ณ , 2๊ฐ๋ง ๋ค์ด๊ฐ ์ ์์ผ๋ฉด 2๊ฐ๋ฅผ ํ์ํ๋ ์์
๋๋ค. 1fr์ ์นด๋๋ค์ด ํ์ ์ฑ์ฐ๋๋ก ํ์ฅ๋๊ฒ ํฉ๋๋ค.
4. ์์ ์์ ์ดํดํ๊ธฐ
์ผ๋ฐ์ ์ธ ํ๋ฆ์ ๊ธฐ์ตํ์ธ์: ๋ด์ฌ์ ํฌ๊ธฐ ์กฐ์ -> ๋ช ์์ ํฌ๊ธฐ/์ต์๊ฐ -> ์ ์ฐํ ๋จ์ ๋ถ๋ฐฐ -> ์ถฉ๋ ํด๊ฒฐ(์ต์๊ฐ ์ฐ์ ).
5. ๊ด๋ฒ์ํ๊ฒ ํ ์คํธํ๊ธฐ
๋ค์ํ ์ฝํ ์ธ ๊ธธ์ด, ํ๋ฉด ํฌ๊ธฐ, ์ฌ์ง์ด ๋ค๋ฅธ ๋ธ๋ผ์ฐ์ ํ๊ฒฝ์์ ๋ ์ด์์์ ํ ์คํธํ์ธ์. ๋ธ๋ผ์ฐ์ ์ ๊ฐ๋ฐ์ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ๋ค๋ฅธ ์ฅ์น์ ๋คํธ์ํฌ ์กฐ๊ฑด์ ์๋ฎฌ๋ ์ด์ ํ์ธ์.
6. ๊ทธ๋ฆฌ๋ ๋ก์ง ๋ฌธ์ํํ๊ธฐ
๋ณต์กํ ๋ ์ด์์์ ๊ฒฝ์ฐ, ํนํ ๊ตญ์ ์ ์ธ ํ์์๋ ํน์ ํธ๋ ํฌ๊ธฐ๊ฐ ์ ์ ํ๋์๊ณ ์ด๋ป๊ฒ ๋์ํ ๊ฒ์ผ๋ก ์์๋๋์ง๋ฅผ ๋ฌธ์ํํ๋ ๊ฒ์ด ํฅํ ์ ์ง๋ณด์ ๋ฐ ๊ฐ๋ฐ์ ๋งค์ฐ ์ค์ํ ์ ์์ต๋๋ค.
๊ฒฐ๋ก
CSS ๊ทธ๋ฆฌ๋ ํธ๋ ํฌ๊ธฐ ํ์์ ๋งค์ฐ ๋์ ์ด๊ณ ๋ฐ์ํ์ธ ๋ ์ด์์์ ๊ฐ๋ฅํ๊ฒ ํ๋ ๊ฐ๋ ฅํ ์์คํ
์
๋๋ค. ๋ด์ฌ์ ์ฝํ
์ธ ํฌ๊ธฐ, ๋ช
์์ ํธ๋ ์ ์, ์ ์ฐํ fr ๋จ์, ๊ทธ๋ฆฌ๊ณ ์ ์ฝ ์กฐ๊ฑด ํด๊ฒฐ ์๊ณ ๋ฆฌ์ฆ ๊ฐ์ ์ํธ ์์ฉ์ ์ดํดํจ์ผ๋ก์จ, ์ด๋ค ์ฝํ
์ธ ์ ์ด๋ค ์ํฉ์๋ ์ง๋ฅ์ ์ผ๋ก ์ ์ํ๋ ์ ๊ตํ ์ธํฐํ์ด์ค๋ฅผ ๊ตฌ์ถํ ์ ์์ต๋๋ค.
๊ธ๋ก๋ฒ ์ฌ์ฉ์๋ฅผ ์ํด ์ด๋ฌํ ํ์ ์์น์ ์์ฉํ๋ ๊ฒ์ ์๊ฐ์ ์ผ๋ก ์ผ๊ด๋ ๋ฟ๋ง ์๋๋ผ ๊ธฐ๋ฅ์ ์ผ๋ก๋ ๊ฒฌ๊ณ ํ ์น์ฌ์ดํธ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ๋ ๊ฒ์ ์๋ฏธํ๋ฉฐ, ์ธ์ด, ์ง์ญ ๋๋ ์ ๊ทผ์ฑ ์๊ตฌ ์ฌํญ์ ๊ด๊ณ์์ด ์ ์ธ๊ณ ์ฌ์ฉ์์ ๋ค์ํ ์๊ตฌ๋ฅผ ์์ฉํฉ๋๋ค. ์ด๋ฌํ ๊ฐ๋ ์ ๋ง์คํฐํ๋ฉด ํ๋ก ํธ์๋ ๊ฐ๋ฐ ๊ธฐ์ ์ ์๋ก์ด ์ฐจ์์ผ๋ก ๋์ด์ฌ๋ ค ์ง์ ์ผ๋ก ํ๋ ฅ ์๊ณ ์ฌ์ฉ์ ์ค์ฌ์ ์ธ ๋์์ธ์ ๋ง๋ค ์ ์์ ๊ฒ์ ๋๋ค.